class Jogo 
  attr_accessor :data, :pontuacao, :passar, :frequencia, :eliminar, :perguntaAtual
  
  def initialize
    @data = Date.today
    @pontuacao = 0
    @passar = true
    @frequencia = true
    @eliminar = true
    @perguntaAtual = 0
    @perguntas = []
  end

  def acionarPassar
    if @passar
      @passar = false
      return true
    else
      return false
    end
  end
  
  def acionarFrequencia
    if @frequencia
      @frequencia = false
      return true
    else
      return false
    end
  end
  
  def acionarEliminar
    if @eliminar
      @eliminar = false
      return true
    else
      return false
    end
  end
  
  def incrementarPontuacao(pontuacao)
    @pontuacao += pontuacao
  end

  def zerarPontuacao
    @pontuacao = 0
  end
  
  def verificarPerguntaAtual
    self.perguntaAtual == 10
  end
  
  def registrarPergunta(pergunta)
    @perguntas.push(pergunta.id)    
  end
  
  def obterPergunta(dificuldade)
    if @perguntas.empty?
      pergunta = Questoes::Pergunta.buscarPerguntas(:first, :order => 'RAND()', :conditions => ["dificuldade = (?)", dificuldade])
    else
      pergunta = Questoes::Pergunta.buscarPerguntas(:first, :order => 'RAND()', :conditions => ["dificuldade = (?) AND id NOT IN (?)", dificuldade, @perguntas])
    end 
    return pergunta
  end
  
  def configurarHorarioLimite(tempo)
    # Considera como tempo para receber resposta o tempo + 10%
    segundos = tempo * (1.0/(24*60*60))
    @horarioLimite = DateTime.now + segundos + (10)
  end
  
  def verificarHorarioLimite
    @horarioLimite >= DateTime.now
  end
  
end

